CREATE OR REPLACE PACKAGE "public"."context" AUTHID CURRENT_USER AS
	
	PROCEDURE set_context(key varchar(120), value varchar(256), prefix varchar(7) DEFAULT NULL);
	PROCEDURE set_context(settings jsonb, prefix varchar(7) DEFAULT NULL);
	FUNCTION get_context(key varchar(120), prefix varchar(7) DEFAULT NULL) RETURN text;
	FUNCTION user(key user_attr) RETURN TEXT;
	FUNCTION session(key session_attr) RETURN TEXT;
	PROCEDURE clear_context(key varchar(120), prefix varchar(7) DEFAULT NULL);
	PROCEDURE clear_all_context();
	FUNCTION list_context() RETURN jsonb;
	CON_CONTEXT constant TEXT := 'KES_PLUS';
	CON_KEY_USER constant TEXT := 'USER';
	CON_KEY_SESSION constant TEXT := 'SESSION';
	CON_KEY_CUSTOM constant TEXT := 'CUSTOM';
END;

CREATE OR REPLACE PACKAGE BODY "public"."context" AS WRAPPED
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
CdPEOA==
END;

